<template>
  <div>
    <!-- beforeUpload:上传前的处理
     比如限制文件大小之类
     使用：
     beforeUpload:(file)=>{
      file文件对象,size（字节）:大小  type:类型...
      return boolean值
        true:正常上传
        false:中止上传
     }
     onSuccess：解析excel成功后的回调
        onSuccess:(obj)=>{
          obj内就是解析excel后的数据
          obj.result:列表数据
          obj.header:头部数据
        }
     -->
    <UploadExcel :before-upload="beforeUpload" :on-success="onSuccess" />
  </div>
</template>
<script>
// import UploadExcel from '@/components/lib/uploadExcel'
import { sysUserBatch } from '@/api/employees'
export default {
  components: {
    // UploadExcel
  },
  created() {
    const arr = [
      { 姓名: 'zs', 年龄: 18 },
      { 姓名: 'ls', 年龄: 20 }
    ]
    // 循环数据，产生一个新的数组
    const newArr = arr.map((item) => {
      return { name: item['姓名'], age: item['年龄'] }
    })
    console.log('newArr', newArr)

    // const arr=[{name:'zs',age:18},{name:'ls',age:20}]
  },
  methods: {
    // excel时间转换成js时间
    changeTime(num) {
      const t = new Date((num - 1) * 24 * 60 * 60 * 1000 - 8 * 60 * 60 * 1000)
      // 减掉70年
      t.setYear(t.getFullYear() - 70)
      return t
    },
    beforeUpload(file) {
      console.log(file)
      // 限制上传超过0.1kb的文件
      const limitSize = file.size / 1024 < 100
      if (!limitSize) {
        this.$message.error('请上传小于0.1kb文件')
      }
      return limitSize
    },
    async onSuccess(obj) {
      console.log(obj)
      // 将数据转换成接口所需格式
      /*
      excel时间：1900年到现在的天数，天数从1开始，时区相差8小时，多了8小时
        天数-1
        -8小时
        相差70年
      js时间：1970年到现在的毫秒数
      */
      const newArr = obj.results.map((item) => {
        return {
          timeOfEntry: this.changeTime(item['入职日期']),
          username: item['姓名'],
          workNumber: item['工号'],
          mobile: item['手机号'],
          correctionTime: this.changeTime(item['转正日期'])
        }
      })
      await sysUserBatch(newArr)
      // 提示
      this.$message.success('导入员工成功')
      // 跳转页面
      this.$router.push('/employees')
      // this.$router.go(0)  // 刷新页面
      // this.$router.go(-1) // 后退页面
      // 知道上级页面直接写死跳转
      // 不知道上级页面，想办法知道，路由传值
      console.log(newArr)
    }
  }
}
</script>
<style></style>
